interface IPerson {
  name: string;
  age: number;
}

// 1. 奇怪的现象1
const obj = {
  name: "why",
  age: 18,
  // 多了一个height属性
  height: 1.8,
};

const info: IPerson = obj;

// 2. 奇怪的现象2
function printPerson(person: IPerson) {}

/**
 * 解释现象
 * 第一次创建的对象字面量，称之为fresh（新鲜的）
 * 对应新鲜的字面量，会进行严格的类型检测，必须完全满足类型的要求（不能有多余的属性）
 * */
const p = {
  name: "why",
  age: 18,
  // 多了一个height属性
  height: 1.8,
};

printPerson(p);

export {};
